The present invention is directed to providing existing color management systems with additional control information and, more particularly, to augmenting existing color transformation tables with additional channels to allow for control of other aspects of the transformation process, such as, exposure level or saturation.
Multi-dimensional interpolation tables are a very useful means of representing color transforms as described in U.S. Pat. No. 5,208,911 incorporated by reference herein. These transform structures map colors in an input color space to an output color space. The color spaces involved may be device-dependent color spaces, such as RGB, CMY, CMYK, Hi-Fi spaces (involving CMYK plus additional colorant channels such as orange and green ink), or device-independent color spaces based on colorimetry, such as CIE XYZ, CIE uvL, and CIE L*a*b*. These tables (grid tables) are often generated by evaluating a sophisticated computer model or function on a uniform multi-dimensional lattice (or grid) over the input color space. The output colors produced by the function are stored in the table. One dimensional look-up tables (LUTs) are used to condition the input to and output from the grid table to allow the values stored in the grid to be more linear (and hence amenable to representation in this tabular form).
The success of using grid tables to represent color transforms is due largely to two factors. First, it is often faster to evaluate the multi-dimensional look-up table than it is to evaluate the original computer model representation of the transform. This can be very important when one needs to process millions of image pixels. Second, a single grid table structure implies a relatively small amount of software must be written to evaluate any transform represented in this format. This is very important in areas such as color management where it is beneficial to have all imaging software applications and operating systems be able to apply these color transformations. The number and variety of the computer models used to model imaging devices, color appearance transforms, and aesthetic enhancement effects are such that it would be impossible for the developers of software applications to implement support for all of them. The current grid table based approaches are a compromise in that the developers of software applications only need to implement support for a single transform format and the developers of color management software need only produce profiles in this single format even though a variety of mathematical models may be used to compute the contents of the profile.
One of the drawbacks of the existing systems that use a grid table based transform structure is the large number of profiles (a computer file having one or more transforms for a specific device) sometimes required for a single imaging device. For example, in CMYK printing it is conventionally necessary to provide separate profiles for different utilization of the black ink and limits on total ink (known in the printing trade as gray component replacement (GCR) and total area coverage (TAC)). It is common to provide fifteen profiles for a single printing process so that the user may choose the black usage that they desire. Another example relates to input profiles for film scanners. Separate profiles for a given type of film and scanner may be provided that account for different exposure levels of the film. Perhaps three to five profiles would be provided for a range from under-exposed to over-exposed film originals.
Having to provide multiple profiles for a single device is not only cumbersome but it is also only an approximate solution. For example, a user may have a film original whose exposure was somewhere in between the different levels provided by the profile vendor. Or, a printer may want to use a GCR/TAC combination that is intermediate to the levels supplied. This situation has prevented many manufacturers from using a profile-based approach or to only do part of the processing using profiles. For example, a film scanner manufacturer may do some initial image processing in the scanner or software driver that uses a non-profile based type of computer model to account for exposure variation on the film. Also, makers of printing devices may do some custom computer modeling in the printer or its software driver to allow for different usage of black or different paper types. Generally, it is still necessary to generate profiles for these devices in addition to whatever custom processing they do. However, a given profile will only be valid for a fixed setting of the parameters for these additional processing routines. This makes the color management of the system less robust and more confusing to the end-userxe2x80x94the peripheral driver must often be adjusted separately from the color management system settings.
Also, these custom modeling stages, separate from the color management system, limit the choices available to the end-user. If the transformation structure used in a color management system is published, as in the case of the International Color Consortium Profile Format, it is possible for a number of vendors to make transformations available. Therefore, if all color processing is under control of the color management system, users have more flexibility. For example, a user may want to get exposure compensation software from a different vendor than the scanner manufacturer.
It is an object of the present invention to provide a system that not only allows color transforms but one that allows transformation based on other information.
It is another object of the present invention to provide a system that augments a grid table with additional channels to control aspects of color models in addition to color.
It is also an object of the present invention to add dimensions to a grid table that represent control information other than color.
It is a further object of the present invention to provide a system that allows the result of color processing using a grid table to be varied in a continuous manner based on information other than pixel color.
It is an additional object of the present invention to provide a unified transform structure that may be used to represent arbitrary processing algorithms involving parameters in addition to color.
It is an object of the present invention to provide a means of representing such transforms for convenient use by a color management system.
It is another object of the present invention to provide a means for a user to modify the result of such a transformation via a graphical user interface.
The above objects can be attained by a system that stores a color management transform, typically using a grid table where one or more of the input channels (and, if necessary, output channels) represent parameters used to control the reproduction of the conventional color image channels. The transform also includes identification information that identifies the type of control (exposure, black ink type, etc.) the extra channels provide. During a transformation the system can evaluate the color image channels at fixed values of the control channels. In doing this, the system creates subgrids at the fixed values of the control channel parameters, thereby reducing the number of dimensions involved in the production transformation process.